package org.jeecgframework.web.system.pojo.base;

import java.math.BigDecimal;
import java.util.Date;
import java.lang.String;
import java.lang.Double;
import java.lang.Integer;
import java.math.BigDecimal;
import javax.persistence.*;
import javax.xml.soap.Text;
import java.sql.Blob;

import org.codehaus.jackson.annotate.JsonIgnore;
import org.hibernate.annotations.GenericGenerator;

import org.hibernate.annotations.NotFound;
import org.hibernate.annotations.NotFoundAction;
import org.jeecgframework.poi.excel.annotation.Excel;

/**
 * @author onlineGenerator
 * @version V1.0
 * @Title: Entity
 * @Description: 返件入库明细表
 * @date 2018-03-07 10:42:18
 */
@Entity
@Table(name = "cbs_back_equipment_detail", schema = "")
@SuppressWarnings("serial")
public class CbsBackEquipmentDetailEntity implements java.io.Serializable {
    /**
     * 主键
     */
    private String id;
    /**
     * 返件主表ID
     */
    @Excel(name = "返件主表ID")
    private CbsReturnEquipmentEntity returnEquipmentId;
    /**
     * 返件明细表ID
     */
    @Excel(name = "返件明细表ID")
    private CbsReturnEquipmentDetailEntity returnEquipmentDetailId;
    /**
     * 版本号
     */
    @Excel(name = "版本号")
    private String verCode;
    /**
     * 序列号
     */
    @Excel(name = "序列号")
    private String sn;
    /**
     * 备件二维码
     */
    @Excel(name = "备件二维码")
    private String equipmentErcode;

    @Excel(name = "备件号ID")
    private ZyEsItemEntity itemId;

    @Excel(name = "备件号")
    private String item;

    /**
     * 照片名称
     */
    @Excel(name = "照片名称")
    private String photoName;
    /**
     * 路径
     */
    @Excel(name = "路径")
    private String filePath;
    /**
     * 文件类型
     */
    @Excel(name = "文件类型")
    private String fileType;

    @Excel(name = "开箱检查")
    private String openCheck;
    /**
     * 备注
     */
    @Excel(name = "备注")
    private String memo;
    /**
     * 仓库ID
     */
    @Excel(name = "仓库ID")
    private CbsWarehouseEntity warehouseId;
    /**
     * 仓库库位
     */
    @Excel(name = "仓库库位")
    private String warehousePosition;

    /*物料号*/
    private String matterNum;
    /**
     * 创建人名称
     */
    private String createName;
    /**
     * 创建人登录名称
     */
    private String createBy;
    /**
     * 创建日期
     */
    private Date createDate;
    /**
     * 更新人名称
     */
    private String updateName;
    /**
     * 更新人登录名称
     */
    private String updateBy;
    /**
     * 更新日期
     */
    private Date updateDate;

    //备件照片id，显示用，不存数据库
    private String fileId;

    @Transient
    public String getFileId() {
        return fileId;
    }

    public void setFileId(String fileId) {
        this.fileId = fileId;
    }

    @Column(name = "matter_num", nullable = true, length = 50)
    public String getMatterNum() {
        return matterNum;
    }

    public void setMatterNum(String matterNum) {
        this.matterNum = matterNum;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  主键
     */
    @Id
    @GeneratedValue(generator = "paymentableGenerator")
    @GenericGenerator(name = "paymentableGenerator", strategy = "uuid")
    @Column(name = "ID", nullable = false, length = 36)
    public String getId() {
        return this.id;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  主键
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  返件主表ID
     */
    @JsonIgnore
    @NotFound(action = NotFoundAction.IGNORE)
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "RETURN_EQUIPMENT_ID", nullable = true)
    public CbsReturnEquipmentEntity getReturnEquipmentId() {
        return returnEquipmentId;
    }

    public void setReturnEquipmentId(CbsReturnEquipmentEntity returnEquipmentId) {
        this.returnEquipmentId = returnEquipmentId;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  返件明细表ID
     */
    @JsonIgnore
    @NotFound(action = NotFoundAction.IGNORE)
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "RETURN_EQUIPMENT_DETAIL_ID", nullable = true)
    public CbsReturnEquipmentDetailEntity getReturnEquipmentDetailId() {
        return returnEquipmentDetailId;
    }

    public void setReturnEquipmentDetailId(CbsReturnEquipmentDetailEntity returnEquipmentDetailId) {
        this.returnEquipmentDetailId = returnEquipmentDetailId;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  版本号
     */
    @Column(name = "VER_CODE", nullable = true, length = 32)
    public String getVerCode() {
        return this.verCode;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  版本号
     */
    public void setVerCode(String verCode) {
        this.verCode = verCode;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  序列号
     */
    @Column(name = "SN", nullable = true, length = 32)
    public String getSn() {
        return this.sn;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  序列号
     */
    public void setSn(String sn) {
        this.sn = sn;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  备件号ID
     */
    @JsonIgnore
    @NotFound(action = NotFoundAction.IGNORE)
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "ITEM_ID", nullable = true)
    public ZyEsItemEntity getItemId() {
        return itemId;
    }

    public void setItemId(ZyEsItemEntity itemId) {
        this.itemId = itemId;
    }


    /*
    * 备件号
    * */
    @Column(name = "item", nullable = true, length = 32)
    public String getItem() {
        return item;
    }

    public void setItem(String item) {
        this.item = item;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  备件二维码
     */
    @Column(name = "EQUIPMENT_ERCODE", nullable = true, length = 32)
    public String getEquipmentErcode() {
        return this.equipmentErcode;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  备件二维码
     */
    public void setEquipmentErcode(String equipmentErcode) {
        this.equipmentErcode = equipmentErcode;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  照片名称
     */
    @Column(name = "PHOTO_NAME", nullable = true, length = 32)
    public String getPhotoName() {
        return this.photoName;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  照片名称
     */
    public void setPhotoName(String photoName) {
        this.photoName = photoName;
    }

    /*
    * 开箱检查
    * */
    @Column(name = "OPEN_CHECK", nullable = true, length = 32)
    public String getOpenCheck() {
        return openCheck;
    }

    public void setOpenCheck(String openCheck) {
        this.openCheck = openCheck;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  路径
     */
    @Column(name = "FILE_PATH", nullable = true, length = 32)
    public String getFilePath() {
        return this.filePath;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  路径
     */
    public void setFilePath(String filePath) {
        this.filePath = filePath;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  文件类型
     */
    @Column(name = "FILE_TYPE", nullable = true, length = 32)
    public String getFileType() {
        return this.fileType;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  文件类型
     */
    public void setFileType(String fileType) {
        this.fileType = fileType;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  备注
     */
    @Column(name = "MEMO", nullable = true, length = 200)
    public String getMemo() {
        return this.memo;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  备注
     */
    public void setMemo(String memo) {
        this.memo = memo;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  仓库ID
     */
    @JsonIgnore
    @NotFound(action = NotFoundAction.IGNORE)
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "WAREHOUSE_ID", nullable = true)
    public CbsWarehouseEntity getWarehouseId() {
        return warehouseId;
    }

    public void setWarehouseId(CbsWarehouseEntity warehouseId) {
        this.warehouseId = warehouseId;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  仓库库位
     */
    @Column(name = "WAREHOUSE_POSITION", nullable = true, length = 32)
    public String getWarehousePosition() {
        return this.warehousePosition;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  仓库库位
     */
    public void setWarehousePosition(String warehousePosition) {
        this.warehousePosition = warehousePosition;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  创建人名称
     */
    @Column(name = "CREATE_NAME", nullable = true, length = 50)
    public String getCreateName() {
        return this.createName;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  创建人名称
     */
    public void setCreateName(String createName) {
        this.createName = createName;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  创建人登录名称
     */
    @Column(name = "CREATE_BY", nullable = true, length = 50)
    public String getCreateBy() {
        return this.createBy;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  创建人登录名称
     */
    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    /**
     * 方法: 取得java.util.Date
     *
     * @return: java.util.Date  创建日期
     */
    @Column(name = "CREATE_DATE", nullable = true, length = 20)
    public Date getCreateDate() {
        return this.createDate;
    }

    /**
     * 方法: 设置java.util.Date
     *
     * @param: java.util.Date  创建日期
     */
    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  更新人名称
     */
    @Column(name = "UPDATE_NAME", nullable = true, length = 50)
    public String getUpdateName() {
        return this.updateName;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  更新人名称
     */
    public void setUpdateName(String updateName) {
        this.updateName = updateName;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  更新人登录名称
     */
    @Column(name = "UPDATE_BY", nullable = true, length = 50)
    public String getUpdateBy() {
        return this.updateBy;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  更新人登录名称
     */
    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    /**
     * 方法: 取得java.util.Date
     *
     * @return: java.util.Date  更新日期
     */
    @Column(name = "UPDATE_DATE", nullable = true, length = 20)
    public Date getUpdateDate() {
        return this.updateDate;
    }

    /**
     * 方法: 设置java.util.Date
     *
     * @param: java.util.Date  更新日期
     */
    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }
}
